package com.foreknow.demo3;

import java.util.Scanner;

public class Manager {
    private int i;
    private Employee[] emps;
    private int count;

    public Manager() {
        emps = new Employee[3];
    }

    /**
     * 添加员工信息
     * @param employee 员工对象
     */
    public void addEmployee(Employee employee) {
        //1. 判断employee是否为空 {
                    //向数组中添加员工对象
        //        } else {
        //          //输出错误信息
        //        }
        if(employee != null) {
            if(count < 3) {
                emps[count] = employee;
                count++;
                System.out.println("添加成功了......");
            }else {
                System.out.println("添加失败了......");
            }
        }
    }

    /**
     * 根据员工的编号查询某个员工信息
     * 遍历emps数组，每遍历一次就要从数组中获取到对象。判断数组中对象的id是否与用户输入的id相同
     */
    public Employee getQueryById(int id) {
        Employee e = null;
        for(int i = 0;i<count;i++){
            //判断数组中的元素是否为空
            if(emps[i] != null) {
                //判断数组中对象的id是否与用户输入的id相同
                if(emps[i].getId() == id) {
                     e = emps[i];
                     break;
                }
            }
        }
        return e;
    }

    /**
     * 修改员工信息
     * @param
     */
    public Employee update(Employee employee) {
        employee.setName("xxx");
       return employee;
    }

    /**
     * 查询所有员工信息 inquire
     * @param
     */

//    public void inquire(){
//        Employee[] emps2 = new Employee[3];
//        for (int i = 0; i < emps.length; i++) {
//            for (int j = 0; j < emps2.length; j++) {
//                Employee e = emps[i];
//                e = emps2[j];
//            }
//        }
//
//    }


    public static void main(String[] args) {
        Manager manager = new Manager();
        Scanner input = new Scanner(System.in);
        for(int i = 0;i < 3;i++){
            System.out.println("请输入员工编号");
            int id = input.nextInt();
            System.out.println("请输入员工姓名");
            String name = input.next();
            System.out.println("请输入员工工资");
            double salary = input.nextDouble();
            System.out.println("请输入员工部门");
            String dept = input.next();

            Employee e = new Employee(id,name,salary,dept);
            //通过set方法将控制台得到的数据给对象的属性赋值
            //     01       e.setId(id);
            //            e.setName(name);
            //            e.setSalary(salary);
            //            e.setDept(dept);
            //将对象添加到数组中
            //employees[i] = e;
            manager.addEmployee(e);
        }
        // 根据id查询某个员工信息
        Employee employee = manager.getQueryById(101);
        if(employee!=null) {
            System.out.println(employee.getName());
        }else {
            System.out.println("error......");
        }

        //调用修改的方法
        Employee e = manager.update(employee);
        System.out.println(e.getName());

        //查询所有员工信息

//        manager.inquire();

    }

}
